package leetcode;

import java.util.HashMap;
import java.util.Map;
import java.util.Stack;

//实现 strStr() 函数。
//给定一个 haystack 字符串和一个 needle 字符串，在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在，则返回  -1。

public class problems_028 {

    public static void main(String[] arge){
        System.out.println(new Solution().strStr("mississippi","issipi"));
    }
    static class Solution {
        public int strStr(String haystack, String needle) {
            if(needle.length() == 0) return 0;
            if(null == haystack || null == needle || haystack.length() == 0 || needle.length() == 0 ||haystack.length() < needle.length()) return -1;
            for (int i = 0; i < haystack.length() - needle.length() + 1; i++) {
                if(haystack.charAt(i) != needle.charAt(0)) continue;
                boolean ret = true;
                for (int j = 1; j < needle.length(); j++) {
                    if(i + j >= haystack.length() || haystack.charAt(i + j) != needle.charAt(j)){
                        ret = false;
                        break;
                    }
                }
                if(ret){
                    return i;
                }
            }
            return -1;
        }
    }
}
